package caronas.modelo;

import java.util.ArrayList;
import java.util.List;


public class Mapa {
	private final String base = "https://maps.googleapis.com/maps/api/staticmap";
	
	private String centro = "Jo�o+Pessoa";
	private int zoom = 12;
	
	private int size = 640;
	private String maptype = "roadmap";
	private boolean sensor = false;
	
	private boolean mostraCentro = false;
	private boolean mostraZoom = false;
	
	private String polyline;
	
	private List<Ponto> listaDePontos;
	
	public Mapa() {
		listaDePontos = new ArrayList<Ponto>();
	}
	
	public Mapa(List<Ponto> lista) {
		listaDePontos = lista;
	}
	
	public Mapa(Carona carona) {
		listaDePontos = new ArrayList<Ponto>();
		listaDePontos.add(carona.getOrigem());
		listaDePontos.add(carona.getDestino());
		polyline = carona.getPolyline();
	}

	public String getEndereco() {
		String endereco = base + "?";
		
		if (mostraCentro) {
			endereco += "center=" + centro + "&";
		}
		
		if (mostraZoom) {
			endereco += "zoom=" + zoom + "&";
		}
		
		endereco += "size=" + size + "x" + size + "&";
		endereco += "maptype=" + maptype + "&";
		
		for (Ponto p: listaDePontos) {
			endereco += "markers=" + p.toStringMarker() + "&";
		}
		
		endereco += "path=enc:" + polyline;
		endereco += "&";
		
		endereco += "sensor=" + sensor;
		return endereco;
	}

	public List<Ponto> getListaDePontos() {
		return listaDePontos;
	}

	public void setListaDePontos(List<Ponto> listaDePontos) {
		this.listaDePontos = listaDePontos;
	}	
	
}
